package com.grao.waterschool.human.Properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.NestedConfigurationProperty;

/**
 * @author limk
 */
@Data
@ConfigurationProperties(prefix = Knife4jProperties.PREFIX)
public class Knife4jProperties {

    public static final String PREFIX = "knife4j.config";

    /**
     * 标题
     */
    private String title;

    /**
     * 描述
     */
    private String description;

    /**
     * 版本
     */
    private String version;

    /**
     * 分组
     */
    @NestedConfigurationProperty
    private Group group = new Group();

    /**
     * 作者
     */
    @NestedConfigurationProperty
    private Contact contact = new Contact();

    /**
     * 许可证
     */
    @NestedConfigurationProperty
    private License license = new License();

    @Data
    public static class Contact {

        /**
         * 作者
         */
        private String user;

        /**
         * 博客
         */
        private String url;

        /**
         * 邮箱
         */
        private String email;
    }

    @Data
    public static class License {

        /**
         * 名称
         */
        private String name;

        /**
         * 网址
         */
        private String url;
    }

    @Data
    public static class Group {

        /**
         * 显示名称
         */
        private String displayName;

        /**
         * 分组名称
         */
        private String name;
    }
}
